Skip to content

Feature/mess detector multi version#165

Open
kapilpandya22 wants to merge 3 commits into
extdn:masterfrom
kapilpandya22:feature/mess-detector-multi-version
Open

Feature/mess detector multi version#165
kapilpandya22 wants to merge 3 commits into
extdn:masterfrom
kapilpandya22:feature/mess-detector-multi-version

Conversation

@kapilpandya22

Copy link
Copy Markdown
Contributor

Summary

  • Adds versioned PHP support to magento-mess-detector, bringing it in line with magento-phpstan, magento-coding-standard, and
    magento-unit-tests which already have per-PHP-version action directories and Dockerfiles
  • Adds 7 versioned action.yml files under magento-mess-detector/{version}/ each pointing to
    extdn/magento-mess-detector-action:{version}-latest
  • Adds mess-detector-images.yml CI workflow to auto-build and push Docker images for all PHP versions on push to master, weekly
    schedule, and after Build Integration Images completes (same trigger pattern as phpstan-images.yml)

PHP → Magento Version Mapping

PHP Magento Version Notes
7.3 2.4.3-p3 Last M2 version supporting PHP 7.3
7.4 2.4.5-p14 Last M2 version supporting PHP 7.4
8.1 2.4.6-p13 Last M2 line supporting PHP 8.1
8.2 2.4.7-p8 Last M2 line supporting PHP 8.2
8.3 2.4.8-p3
8.4 2.4.8-p3
8.5 2.4.9 Latest

Technical Details

  • Each Dockerfile is a multi-stage build using extdn/magento-integration-tests-action:{version}-latest as the base (same pattern as
    magento-phpstan)
  • Builder stage installs Magento via Fooman mirror, second stage copies the built Magento and adds PHPMD-specific files
    (phpunit.phpmd.xml, PhpmdRunner.php, LiveCodePhpmdRunner.php, entrypoint.sh)
  • Uses COPY instead of ADD for local file instructions (Docker best practice)
  • Includes composer config --json audit.ignore for known CI-irrelevant security advisories

kapilpandya22 and others added 3 commits May 28, 2026 22:13
Adds version-specific Dockerfiles (7.3–8.5) and action.yml directories
following the same pattern as magento-phpstan and magento-coding-standard.
Also adds the mess-detector-images.yml CI workflow to build and push all
version-tagged Docker images automatically.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…DD with COPY

- PHP 8.1: use Magento 2.4.6-p13 (2.4.7+ dropped PHP 8.1 support)
- PHP 8.2: use Magento 2.4.7-p8 (2.4.8+ requires PHP 8.3+)
- PHP 8.1 + 8.2: add missing composer audit.ignore config for CI
- All versions: replace ADD with COPY (preferred for local file copies)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

steps:
- name: "Checkout"
uses: "actions/checkout@v4"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uses: "actions/checkout@v4"
uses: "actions/checkout@v6"

RUN composer config repo.foomanmirror composer https://repo-magento-mirror.fooman.co.nz/
RUN composer config --no-plugins allow-plugins true
RUN composer require hoa/regex --no-update
RUN composer config --json audit.ignore '{"PKSA-z3gr-8qht-p93v": "Ignored for CI", "PKSA-rkkf-636k-qjb3": "Ignored for CI", "PKSA-wws7-mr54-jsny": "Ignored for CI", "PKSA-db8d-773v-rd1n": "Ignored for CI"}'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This (and the ones in the other versions) need to be updated. Just compare with the current PHPStan file.

FROM extdn/magento-integration-tests-action:8.1-latest AS builder

RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini
RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.6-p13"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use 2.4.7-p8 (or now 2.4.7-p10), as in the PHPStan version here? I don't get why we need to use 2.4.6 here.

FROM extdn/magento-integration-tests-action:8.2-latest AS builder

RUN echo memory_limit = -1 >> /usr/local/etc/php/conf.d/custom-memory.ini
RUN composer create-project --repository=https://repo-magento-mirror.fooman.co.nz/ --no-plugins --no-install --no-interaction magento/project-community-edition /var/www/magento2ce "2.4.7-p8"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't we use 2.4.8*?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants